﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Interfaces;
using Model;
using Database;

namespace Collections
{
    public class OrdreCollection
    {
        public List<Iordre> HentAlleOrdrer()
        {
            List<Iordre> ordreliste;
            DbController db = DbController.GetInstance();
            ordreliste = db.HentAlleOrdrer();
            return ordreliste;
        }
        public void OpretOrdre(Iordre ordre)
        {
            DbController db = DbController.GetInstance();
            db.OpretOrdre(ordre);
        }
        public void OpretBookingOpgaveOrdreLinie(int opgavenr, int bookingnr, int ordrenr)
        {
            DbController db = DbController.GetInstance();
            db.OpretBookingOpgaveOrdreLinie(opgavenr, bookingnr, ordrenr);
        }
        public int HentSidstIndsatteOrdrenr()
        {
            int ordrenr;
            DbController db = DbController.GetInstance();
            ordrenr = db.HentSidstIndsatteOrdrenr();
            return ordrenr;
        }
        public List<Iordre> HentUafsluttedeOrdrer()
        {
            List<Iordre> ordreListe;
            DbController db = DbController.GetInstance();
            ordreListe = db.HentUafsluttedeOrdrer();
            return ordreListe;
        }
        public List<Iordre> HentOrdrerDESC()
        {
            List<Iordre> ordreListe;
            DbController db = DbController.GetInstance();
            ordreListe = db.HentOrdrerDESC();
            return ordreListe;
        }
        public List<Iordre> HentUafsluttedeOrdrerForSpecifikKunde(int kundenummer)
        {
            List<Iordre> ordreListe;
            DbController db = DbController.GetInstance();
            ordreListe = db.HentUafsluttedeOrdrerForSpecifikKunde(kundenummer);
            return ordreListe;
        }
        public List<Iordre> HentAfsluttedeUfaktureredeOrdrer()
        {
            List<Iordre> ordreListe;
            DbController db = DbController.GetInstance();
            ordreListe = db.HentAfsluttedeUfaktureredeOrdrer();
            return ordreListe;
        }

        public List<Iordre> HentAlleUafsluttedeOrdrerDenAnsatteErBooketTil(int medarbejderNr)
        {
            List<Iordre> ordrer;
            DbController db = DbController.GetInstance();
            ordrer = db.HentAlleUafsluttedeOrdrerDenAnsatteErBooketTil(medarbejderNr);
            return ordrer;
        }
        public void FaerdigmeldOrdre(DateTime slutdato, Iordre valgtOrdre)
        {
            DbController db = DbController.GetInstance();
            db.FaerdigmeldOrdre(slutdato, valgtOrdre);
        }
        public void IndsaetUdlejningPaaOrdre(int ordrenr)
        {
            DbController db = DbController.GetInstance();
            db.IndsaetUdlejningPaaOrdre(ordrenr);
        }

        public int TilfoejVareTilOrdre(int ordreNr, int vareNummer)
        {
            DbController db = DbController.GetInstance();
            int id = db.TilfoejVareTilOrdre(ordreNr, vareNummer);
            return id;
        }

        public void sletVareFraOrdre(int id)
        {
            DbController db = DbController.GetInstance();
            db.sletVareFraOrdre(id);
        }
        public void OpretOrdreVareLinie(int ordrenr, int varenr)
        {
            DbController db = DbController.GetInstance();
            db.OpretOrdreVareLinie(ordrenr, varenr);
        }
    }
}
